prog(Programa) --> 
	{creaTS(TSh)},
	bloqueDec(TSh,TS,0,Etqh,[],Programah),
	bs(TS,Etqh,Etq,Programah,Programa1),
	{codifica(_TS,Etq,_Etq,Programa1,Programa,alto,_)}.

bloqueDec(TSh,tabla(UI,TS),Etqh,Etq,Programah,Programa) -->   [var],
			declaraciones(TSh,tabla(UI,TS)),
			[fvar],
			{codifica(_S,Etqh,Etq,Programah,Programa,fvar,UI)}.

declaraciones(TSh,TS) --> declaracion(TSh,TS1),[';'],
			  declaraciones(TS1,TS).

declaraciones(TSh,TS) --> declaracion(TSh,TS),[';'].

declaracion(TSh,TS) --> tipo([_L,Token,Tam,_O,TD]), identificador(Lexema),
			{anadeSimbolo(TSh,TS,Lexema,Token,Tam,TD)}.

identificador(Lexema) --> [Lexema].
